Singleton Pattern এবং তার প্রয়োগ

Computer Programming - এপেক্স (Apex) Apex Design Patterns (Apex Design Patterns) |
215
215

Singleton Pattern হলো একটি ডিজাইন প্যাটার্ন, যা একটি ক্লাসের একক ইনস্ট্যান্স তৈরি করতে এবং সেই একক ইনস্ট্যান্স অ্যাপ্লিকেশন জুড়ে পুনরায় ব্যবহার করতে সহায়ক। এটি Creational Design Pattern-এর অন্তর্গত এবং Salesforce সহ বিভিন্ন প্রোগ্রামিং ভাষায় ব্যবহৃত হয়। Singleton Pattern অ্যাপ্লিকেশন জুড়ে ক্লাসের ইনস্ট্যান্স ম্যানেজ করতে সহায়ক, বিশেষ করে যখন একই ইনস্ট্যান্স বারবার প্রয়োজন হয়।


Singleton Pattern কেন গুরুত্বপূর্ণ?

  1. Memory Optimization: একটি ইনস্ট্যান্স তৈরি করে এবং তা পুনরায় ব্যবহার করার মাধ্যমে Singleton Pattern মেমোরি ব্যবহারের কার্যক্ষমতা বাড়ায়।
  2. Global Access: Singleton Pattern ব্যবহার করে যে কোনো ক্লাসের একক ইনস্ট্যান্স অ্যাপ্লিকেশনের যেকোনো স্থানে অ্যাক্সেসযোগ্য করা যায়।
  3. Consistency: একাধিক ইনস্ট্যান্স তৈরি না হওয়ায় ডেটা এবং স্টেট একক ইনস্ট্যান্সের মধ্যে কনসিসটেন্ট থাকে।

Apex এ Singleton Pattern এর প্রয়োগ

Apex-এ Singleton Pattern প্রয়োগ করতে হলে একটি ক্লাস তৈরি করতে হবে, যা একটি Private Constructor এবং Static Method ব্যবহার করে একক ইনস্ট্যান্স তৈরি করে। নিচে একটি Singleton Pattern এর উদাহরণ দেয়া হলো:

উদাহরণ: Singleton Pattern ব্যবহার করে একটি ক্লাস তৈরি করা

public class SingletonExample {
    // ক্লাসের একক ইনস্ট্যান্স স্ট্যাটিক ভেরিয়েবল হিসেবে সংরক্ষণ করা হয়েছে
    private static SingletonExample instance = null;
    
    // Private Constructor যাতে বাহির থেকে সরাসরি ইনস্ট্যান্স তৈরি করা না যায়
    private SingletonExample() {
        // Constructor কোড
    }
    
    // ক্লাসের একক ইনস্ট্যান্স রিটার্ন করার স্ট্যাটিক মেথড
    public static SingletonExample getInstance() {
        if (instance == null) {
            instance = new SingletonExample();
        }
        return instance;
    }
    
    // অন্যান্য মেথড বা প্রোপার্টিজ
    public void showMessage() {
        System.debug('Singleton instance is working!');
    }
}

কিভাবে ব্যবহার করবেন

// প্রথমবার getInstance() মেথড কল করলে নতুন ইনস্ট্যান্স তৈরি হবে
SingletonExample singleton = SingletonExample.getInstance();
singleton.showMessage();

// পুনরায় getInstance() কল করলে একই ইনস্ট্যান্স রিটার্ন করবে
SingletonExample singleton2 = SingletonExample.getInstance();
System.debug(singleton == singleton2); // Output: true (দুইটি ইনস্ট্যান্স একই)
  • instance ভেরিয়েবল: ক্লাসের একক ইনস্ট্যান্সকে স্ট্যাটিক ভেরিয়েবল instance হিসেবে সংরক্ষণ করা হয়েছে।
  • Private Constructor: বাহির থেকে নতুন ইনস্ট্যান্স তৈরি না করা যায়।
  • getInstance() মেথড: যদি instance ভেরিয়েবল null হয়, তাহলে নতুন ইনস্ট্যান্স তৈরি করে এবং একই ইনস্ট্যান্স পুনরায় ব্যবহার করা হয়।

Singleton Pattern এর ব্যবহার ক্ষেত্র

Configuration বা Settings Data ম্যানেজ করা: অ্যাপ্লিকেশন জুড়ে যেখানে একই কনফিগারেশন বা সেটিংস ডেটা প্রয়োজন সেখানে Singleton Pattern ব্যবহার কার্যকর।

Cache Data সংরক্ষণ: যেখানে বারবার একই ডেটা রিকোয়েস্ট করা হয়, সেখানে Singleton Pattern Cache Data হিসেবে ব্যবহার করে কার্যক্ষমতা উন্নত করতে পারে।

Utility বা Helper Classes: যেখানে নির্দিষ্ট ইউটিলিটি ফাংশন বা Helper ক্লাসের ইনস্ট্যান্স একবার তৈরি করে অ্যাপ্লিকেশন জুড়ে ব্যবহৃত হতে পারে।

Logging এবং Debugging ম্যানেজ করা: লগিং বা ডিবাগিং কার্যক্রমে Singleton Pattern ব্যবহার করে একক ইনস্ট্যান্সের মাধ্যমে লগ ডেটা ম্যানেজ করা যায়।


ভালো অনুশীলন

Lazy Initialization: Singleton Pattern-এ getInstance() মেথডে instance null থাকলে তবেই নতুন ইনস্ট্যান্স তৈরি করুন, যা মেমোরি অপটিমাইজেশন নিশ্চিত করে।

Thread Safety: একই সাথে একাধিক থ্রেডে অ্যাক্সেস করতে হলে Thread Safe Singleton তৈরি করুন, তবে Apex Async environment-এ সাধারণত এটি গুরুত্বপূর্ণ নয়।

Exception Handling: Singleton ক্লাসে Exception Handling যুক্ত করুন, যাতে ডেটা বা ইনস্ট্যান্স ব্যবহার করার সময় কোনো ত্রুটি হলে সঠিক বার্তা প্রদান করা যায়।


সারসংক্ষেপ

Singleton Pattern Apex সহ বিভিন্ন প্রোগ্রামিং ভাষায় ব্যবহৃত একটি ডিজাইন প্যাটার্ন, যা একটি ক্লাসের একক ইনস্ট্যান্স তৈরি করতে এবং তা অ্যাপ্লিকেশন জুড়ে পুনরায় ব্যবহার করতে সহায়ক। এটি মেমোরি ব্যবহারের কার্যক্ষমতা বাড়ায়, কনসিসটেন্সি নিশ্চিত করে এবং ডেটা অ্যাক্সেস সহজতর করে। Apex-এ Singleton Pattern ব্যবহার করে অ্যাপ্লিকেশন আরও কার্যকর এবং সুরক্ষিত রাখা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion